package br.jcrsistemas.componentes;

import java.awt.Color;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.DefaultComboBoxModel;

import br.jcrsistemas.factory.DAOFacotory;
import br.jcrsistemas.syscomercio.bean.Estado;
import br.jcrsistemas.syscomercio.cadastros.dao.EstadoDAO;
import br.jcrsistemas.util.AutoCompleteComboBox;
import br.jcrsistemas.util.Util;

public class SysCampoEstado extends AutoCompleteComboBox {

    public SysCampoEstado() {
        super();
        DAOFacotory factory = DAOFacotory.getDAOFactory();
        EstadoDAO estadoDAO = factory.getEstadoDAO();
        ArrayList<Estado> listaEstados = new ArrayList<Estado>();
        try {
            listaEstados = estadoDAO.listar();
        } catch (SQLException ex) {
            Util.trataErro(ex);
            Logger.getLogger(SysCampoEstado.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Util.trataErro(ex);
            Logger.getLogger(SysCampoEstado.class.getName()).log(Level.SEVERE, null, ex);
        }
        Vector<Object> vetor = new Vector<Object>(listaEstados);
        setModel(new DefaultComboBoxModel(vetor));
        getEditor().getEditorComponent().setBackground(Color.white);
        getEditor().getEditorComponent().setForeground(Color.black);
        setSelectedIndex(0);
    }

    public boolean isVazio() {
        if (getSelectedItem() == null) {
            return true;
        }
        if (getSelectedItem().equals("")) {
            return true;
        }
        Estado estado = (Estado) getSelectedItem();
        if (estado == null) {
            return true;
        }
        if (estado.getEstado().isEmpty()) {
            return true;
        }
        return false;
    }
}
